<?php

class admin_Form_Articulo extends Zend_Form {

    public function init() 
    {   

        $this->setMethod('post');
        $this->setAttrib('enctype', 'multipart/form-data');

        $metaTags = $this->createElement('text', 'meta_tags');
        $metaTags->addFilters(array('StringTrim', 'StripTags'))
                 ->addValidators(array(array('StringLength', false, array(3, 100))))
                 ->setRequired(true)
                 ->setAttrib('class', 'lf')
                 ->setLabel('Meta Tags : ');

        $metaDescripcion = $this->createElement('textarea', 'meta_descripcion');
        $metaDescripcion->addFilters(array('StringTrim', 'StripTags'))
                ->setAttrib('cols', '40')
                ->setAttrib('rows', '5')
                ->setAttrib('class', 'st')
                ->setRequired(true)
                ->setLabel('Meta Descripción :');

        $titulo = $this->createElement('text', 'titulo');
        $titulo->addFilters(array('StringTrim', 'StripTags'))
                ->addValidators(array(array('StringLength', false, array(3, 100))))
                ->setRequired(true)
                ->setAttrib('class', 'lf')
                ->setLabel('Titulo : ');

        $h1 = $this->createElement('text', 'h1');
        $h1->addFilters(array('StringTrim', 'StripTags'))
                ->addValidators(array(array('StringLength', false, array(3, 100))))
                ->setRequired(true)
                ->setAttrib('class', 'lf')
                ->setLabel('Tag H1 :');


        $contenido = $this->createElement('textarea', 'contenido');
        $contenido->addFilters(array('StringTrim'))
                ->addValidators(array())
                ->setRequired(true)
                ->setAttrib('cols', '80')
                ->setAttrib('rows', '10')
                ->setAttrib('class', 'wysiwyg')
                ->setLabel('Contenido :');

        $descripcion = $this->createElement('textarea', 'descripcion');
        $descripcion->addFilters(array('StringTrim', 'StripTags'))
                ->setAttrib('cols', '80')
                ->setAttrib('rows', '10')
                ->setRequired(true)
                ->setAttrib('class', 'st')
                ->setLabel('Descripción :');

        $miniatura = $this->createElement('file', 'miniatura');
        $miniatura->setLabel('Miniatura :')
                ->setDestination('uploads/articulos')
                ->addValidator('Count', false, 1)
                ->addValidator('Extension', false, 'jpg,png,gif')
                ->addValidator('Size', false, 204800);

        $tags = $this->createElement('text', 'tags');
        $tags->addFilters(array('StringTrim', 'StripTags'))
                ->addValidators(array(array('StringLength', false, array(3, 100))))
                ->setRequired(true)
                ->setAttrib('class', 'lf')
                ->setLabel('Tags :');

        $categoria = $this->createElement('select', 'cat_id');
        $categoria->setLabel('Categoría :')
                  ->addMultiOptions($this->_getCategorias());


        $crear = $this->createElement('submit', 'crear');
        $crear->setRequired(false)
                ->setIgnore(true)
                ->setLabel('Guardar')
                ->setAttrib('class', 'button')
                ->removeDecorator('DtDdWrapper');

        $reestablecer = $this->createElement('reset', 'reset');
        $reestablecer->setRequired(false)
                ->setIgnore(true)
                ->setLabel('Reestablecer')
                ->setAttrib('class', 'button')
                ->removeDecorator('DtDdWrapper');

        $this->addElements(array($metaTags,$metaDescripcion,$titulo, $h1, $contenido, $descripcion,$categoria,$miniatura,$tags,$crear,$reestablecer));
    }

    private function _getCategorias(){

        $objCategorias = new admin_Model_CategoriaMapper();
        $todas         = $objCategorias->obtenerTodos();

        if(!is_null($todas)){
            foreach($todas as $categoria){
            $categorias[$categoria->id] = $categoria->nombre;
            }
        }else{
            $categorias[0] = 'General';
        }

        return $categorias;

    }

}

